{"ast":null,"code":"import _classCallCheck from \"/Users/poppie/Desktop/development/messenger/app/frontend/node_modules/@babel/runtime/helpers/esm/classCallCheck.js\";\nimport _createClass from \"/Users/poppie/Desktop/development/messenger/app/frontend/node_modules/@babel/runtime/helpers/esm/createClass.js\";\nimport _toConsumableArray from \"/Users/poppie/Desktop/development/messenger/app/frontend/node_modules/@babel/runtime/helpers/esm/toConsumableArray.js\";\nimport { unstable_ownerWindow as ownerWindow, unstable_ownerDocument as ownerDocument, unstable_getScrollbarSize as getScrollbarSize } from '@mui/utils';\n// Is a vertical scrollbar displayed?\nfunction isOverflowing(container) {\n  var doc = ownerDocument(container);\n  if (doc.body === container) {\n    return ownerWindow(container).innerWidth > doc.documentElement.clientWidth;\n  }\n  return container.scrollHeight > container.clientHeight;\n}\nexport function ariaHidden(element, show) {\n  if (show) {\n    element.setAttribute('aria-hidden', 'true');\n  } else {\n    element.removeAttribute('aria-hidden');\n  }\n}\nfunction getPaddingRight(element) {\n  return parseInt(ownerWindow(element).getComputedStyle(element).paddingRight, 10) || 0;\n}\nfunction isAriaHiddenForbiddenOnElement(element) {\n  // The forbidden HTML tags are the ones from ARIA specification that\n  // can be children of body and can't have aria-hidden attribute.\n  // cf. https://www.w3.org/TR/html-aria/#docconformance\n  var forbiddenTagNames = ['TEMPLATE', 'SCRIPT', 'STYLE', 'LINK', 'MAP', 'META', 'NOSCRIPT', 'PICTURE', 'COL', 'COLGROUP', 'PARAM', 'SLOT', 'SOURCE', 'TRACK'];\n  var isForbiddenTagName = forbiddenTagNames.indexOf(element.tagName) !== -1;\n  var isInputHidden = element.tagName === 'INPUT' && element.getAttribute('type') === 'hidden';\n  return isForbiddenTagName || isInputHidden;\n}\nfunction ariaHiddenSiblings(container, mountElement, currentElement, elementsToExclude, show) {\n  var blacklist = [mountElement, currentElement].concat(_toConsumableArray(elementsToExclude));\n  [].forEach.call(container.children, function (element) {\n    var isNotExcludedElement = blacklist.indexOf(element) === -1;\n    var isNotForbiddenElement = !isAriaHiddenForbiddenOnElement(element);\n    if (isNotExcludedElement && isNotForbiddenElement) {\n      ariaHidden(element, show);\n    }\n  });\n}\nfunction findIndexOf(items, callback) {\n  var idx = -1;\n  items.some(function (item, index) {\n    if (callback(item)) {\n      idx = index;\n      return true;\n    }\n    return false;\n  });\n  return idx;\n}\nfunction handleContainer(containerInfo, props) {\n  var restoreStyle = [];\n  var container = containerInfo.container;\n  if (!props.disableScrollLock) {\n    if (isOverflowing(container)) {\n      // Compute the size before applying overflow hidden to avoid any scroll jumps.\n      var scrollbarSize = getScrollbarSize(ownerDocument(container));\n      restoreStyle.push({\n        value: container.style.paddingRight,\n        property: 'padding-right',\n        el: container\n      });\n      // Use computed style, here to get the real padding to add our scrollbar width.\n      container.style.paddingRight = \"\".concat(getPaddingRight(container) + scrollbarSize, \"px\");\n\n      // .mui-fixed is a global helper.\n      var fixedElements = ownerDocument(container).querySelectorAll('.mui-fixed');\n      [].forEach.call(fixedElements, function (element) {\n        restoreStyle.push({\n          value: element.style.paddingRight,\n          property: 'padding-right',\n          el: element\n        });\n        element.style.paddingRight = \"\".concat(getPaddingRight(element) + scrollbarSize, \"px\");\n      });\n    }\n    var scrollContainer;\n    if (container.parentNode instanceof DocumentFragment) {\n      scrollContainer = ownerDocument(container).body;\n    } else {\n      // Improve Gatsby support\n      // https://css-tricks.com/snippets/css/force-vertical-scrollbar/\n      var parent = container.parentElement;\n      var containerWindow = ownerWindow(container);\n      scrollContainer = (parent == null ? void 0 : parent.nodeName) === 'HTML' && containerWindow.getComputedStyle(parent).overflowY === 'scroll' ? parent : container;\n    }\n\n    // Block the scroll even if no scrollbar is visible to account for mobile keyboard\n    // screensize shrink.\n    restoreStyle.push({\n      value: scrollContainer.style.overflow,\n      property: 'overflow',\n      el: scrollContainer\n    }, {\n      value: scrollContainer.style.overflowX,\n      property: 'overflow-x',\n      el: scrollContainer\n    }, {\n      value: scrollContainer.style.overflowY,\n      property: 'overflow-y',\n      el: scrollContainer\n    });\n    scrollContainer.style.overflow = 'hidden';\n  }\n  var restore = function restore() {\n    restoreStyle.forEach(function (_ref) {\n      var value = _ref.value,\n        el = _ref.el,\n        property = _ref.property;\n      if (value) {\n        el.style.setProperty(property, value);\n      } else {\n        el.style.removeProperty(property);\n      }\n    });\n  };\n  return restore;\n}\nfunction getHiddenSiblings(container) {\n  var hiddenSiblings = [];\n  [].forEach.call(container.children, function (element) {\n    if (element.getAttribute('aria-hidden') === 'true') {\n      hiddenSiblings.push(element);\n    }\n  });\n  return hiddenSiblings;\n}\n/**\n * @ignore - do not document.\n *\n * Proper state management for containers and the modals in those containers.\n * Simplified, but inspired by react-overlay's ModalManager class.\n * Used by the Modal to ensure proper styling of containers.\n */\nvar ModalManager = /*#__PURE__*/function () {\n  function ModalManager() {\n    _classCallCheck(this, ModalManager);\n    this.containers = void 0;\n    this.modals = void 0;\n    this.modals = [];\n    this.containers = [];\n  }\n  _createClass(ModalManager, [{\n    key: \"add\",\n    value: function add(modal, container) {\n      var modalIndex = this.modals.indexOf(modal);\n      if (modalIndex !== -1) {\n        return modalIndex;\n      }\n      modalIndex = this.modals.length;\n      this.modals.push(modal);\n\n      // If the modal we are adding is already in the DOM.\n      if (modal.modalRef) {\n        ariaHidden(modal.modalRef, false);\n      }\n      var hiddenSiblings = getHiddenSiblings(container);\n      ariaHiddenSiblings(container, modal.mount, modal.modalRef, hiddenSiblings, true);\n      var containerIndex = findIndexOf(this.containers, function (item) {\n        return item.container === container;\n      });\n      if (containerIndex !== -1) {\n        this.containers[containerIndex].modals.push(modal);\n        return modalIndex;\n      }\n      this.containers.push({\n        modals: [modal],\n        container: container,\n        restore: null,\n        hiddenSiblings: hiddenSiblings\n      });\n      return modalIndex;\n    }\n  }, {\n    key: \"mount\",\n    value: function mount(modal, props) {\n      var containerIndex = findIndexOf(this.containers, function (item) {\n        return item.modals.indexOf(modal) !== -1;\n      });\n      var containerInfo = this.containers[containerIndex];\n      if (!containerInfo.restore) {\n        containerInfo.restore = handleContainer(containerInfo, props);\n      }\n    }\n  }, {\n    key: \"remove\",\n    value: function remove(modal) {\n      var ariaHiddenState = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n      var modalIndex = this.modals.indexOf(modal);\n      if (modalIndex === -1) {\n        return modalIndex;\n      }\n      var containerIndex = findIndexOf(this.containers, function (item) {\n        return item.modals.indexOf(modal) !== -1;\n      });\n      var containerInfo = this.containers[containerIndex];\n      containerInfo.modals.splice(containerInfo.modals.indexOf(modal), 1);\n      this.modals.splice(modalIndex, 1);\n\n      // If that was the last modal in a container, clean up the container.\n      if (containerInfo.modals.length === 0) {\n        // The modal might be closed before it had the chance to be mounted in the DOM.\n        if (containerInfo.restore) {\n          containerInfo.restore();\n        }\n        if (modal.modalRef) {\n          // In case the modal wasn't in the DOM yet.\n          ariaHidden(modal.modalRef, ariaHiddenState);\n        }\n        ariaHiddenSiblings(containerInfo.container, modal.mount, modal.modalRef, containerInfo.hiddenSiblings, false);\n        this.containers.splice(containerIndex, 1);\n      } else {\n        // Otherwise make sure the next top modal is visible to a screen reader.\n        var nextTop = containerInfo.modals[containerInfo.modals.length - 1];\n        // as soon as a modal is adding its modalRef is undefined. it can't set\n        // aria-hidden because the dom element doesn't exist either\n        // when modal was unmounted before modalRef gets null\n        if (nextTop.modalRef) {\n          ariaHidden(nextTop.modalRef, false);\n        }\n      }\n      return modalIndex;\n    }\n  }, {\n    key: \"isTopModal\",\n    value: function isTopModal(modal) {\n      return this.modals.length > 0 && this.modals[this.modals.length - 1] === modal;\n    }\n  }]);\n  return ModalManager;\n}();\nexport { ModalManager as default };","map":{"version":3,"names":["unstable_ownerWindow","ownerWindow","unstable_ownerDocument","ownerDocument","unstable_getScrollbarSize","getScrollbarSize","isOverflowing","container","doc","body","innerWidth","documentElement","clientWidth","scrollHeight","clientHeight","ariaHidden","element","show","setAttribute","removeAttribute","getPaddingRight","parseInt","getComputedStyle","paddingRight","isAriaHiddenForbiddenOnElement","forbiddenTagNames","isForbiddenTagName","indexOf","tagName","isInputHidden","getAttribute","ariaHiddenSiblings","mountElement","currentElement","elementsToExclude","blacklist","forEach","call","children","isNotExcludedElement","isNotForbiddenElement","findIndexOf","items","callback","idx","some","item","index","handleContainer","containerInfo","props","restoreStyle","disableScrollLock","scrollbarSize","push","value","style","property","el","fixedElements","querySelectorAll","scrollContainer","parentNode","DocumentFragment","parent","parentElement","containerWindow","nodeName","overflowY","overflow","overflowX","restore","setProperty","removeProperty","getHiddenSiblings","hiddenSiblings","ModalManager","containers","modals","modal","modalIndex","length","modalRef","mount","containerIndex","ariaHiddenState","splice","nextTop"],"sources":["/Users/poppie/Desktop/development/messenger/app/frontend/node_modules/@mui/base/ModalUnstyled/ModalManager.js"],"sourcesContent":["import { unstable_ownerWindow as ownerWindow, unstable_ownerDocument as ownerDocument, unstable_getScrollbarSize as getScrollbarSize } from '@mui/utils';\n// Is a vertical scrollbar displayed?\nfunction isOverflowing(container) {\n  const doc = ownerDocument(container);\n  if (doc.body === container) {\n    return ownerWindow(container).innerWidth > doc.documentElement.clientWidth;\n  }\n  return container.scrollHeight > container.clientHeight;\n}\nexport function ariaHidden(element, show) {\n  if (show) {\n    element.setAttribute('aria-hidden', 'true');\n  } else {\n    element.removeAttribute('aria-hidden');\n  }\n}\nfunction getPaddingRight(element) {\n  return parseInt(ownerWindow(element).getComputedStyle(element).paddingRight, 10) || 0;\n}\nfunction isAriaHiddenForbiddenOnElement(element) {\n  // The forbidden HTML tags are the ones from ARIA specification that\n  // can be children of body and can't have aria-hidden attribute.\n  // cf. https://www.w3.org/TR/html-aria/#docconformance\n  const forbiddenTagNames = ['TEMPLATE', 'SCRIPT', 'STYLE', 'LINK', 'MAP', 'META', 'NOSCRIPT', 'PICTURE', 'COL', 'COLGROUP', 'PARAM', 'SLOT', 'SOURCE', 'TRACK'];\n  const isForbiddenTagName = forbiddenTagNames.indexOf(element.tagName) !== -1;\n  const isInputHidden = element.tagName === 'INPUT' && element.getAttribute('type') === 'hidden';\n  return isForbiddenTagName || isInputHidden;\n}\nfunction ariaHiddenSiblings(container, mountElement, currentElement, elementsToExclude, show) {\n  const blacklist = [mountElement, currentElement, ...elementsToExclude];\n  [].forEach.call(container.children, element => {\n    const isNotExcludedElement = blacklist.indexOf(element) === -1;\n    const isNotForbiddenElement = !isAriaHiddenForbiddenOnElement(element);\n    if (isNotExcludedElement && isNotForbiddenElement) {\n      ariaHidden(element, show);\n    }\n  });\n}\nfunction findIndexOf(items, callback) {\n  let idx = -1;\n  items.some((item, index) => {\n    if (callback(item)) {\n      idx = index;\n      return true;\n    }\n    return false;\n  });\n  return idx;\n}\nfunction handleContainer(containerInfo, props) {\n  const restoreStyle = [];\n  const container = containerInfo.container;\n  if (!props.disableScrollLock) {\n    if (isOverflowing(container)) {\n      // Compute the size before applying overflow hidden to avoid any scroll jumps.\n      const scrollbarSize = getScrollbarSize(ownerDocument(container));\n      restoreStyle.push({\n        value: container.style.paddingRight,\n        property: 'padding-right',\n        el: container\n      });\n      // Use computed style, here to get the real padding to add our scrollbar width.\n      container.style.paddingRight = `${getPaddingRight(container) + scrollbarSize}px`;\n\n      // .mui-fixed is a global helper.\n      const fixedElements = ownerDocument(container).querySelectorAll('.mui-fixed');\n      [].forEach.call(fixedElements, element => {\n        restoreStyle.push({\n          value: element.style.paddingRight,\n          property: 'padding-right',\n          el: element\n        });\n        element.style.paddingRight = `${getPaddingRight(element) + scrollbarSize}px`;\n      });\n    }\n    let scrollContainer;\n    if (container.parentNode instanceof DocumentFragment) {\n      scrollContainer = ownerDocument(container).body;\n    } else {\n      // Improve Gatsby support\n      // https://css-tricks.com/snippets/css/force-vertical-scrollbar/\n      const parent = container.parentElement;\n      const containerWindow = ownerWindow(container);\n      scrollContainer = (parent == null ? void 0 : parent.nodeName) === 'HTML' && containerWindow.getComputedStyle(parent).overflowY === 'scroll' ? parent : container;\n    }\n\n    // Block the scroll even if no scrollbar is visible to account for mobile keyboard\n    // screensize shrink.\n    restoreStyle.push({\n      value: scrollContainer.style.overflow,\n      property: 'overflow',\n      el: scrollContainer\n    }, {\n      value: scrollContainer.style.overflowX,\n      property: 'overflow-x',\n      el: scrollContainer\n    }, {\n      value: scrollContainer.style.overflowY,\n      property: 'overflow-y',\n      el: scrollContainer\n    });\n    scrollContainer.style.overflow = 'hidden';\n  }\n  const restore = () => {\n    restoreStyle.forEach(({\n      value,\n      el,\n      property\n    }) => {\n      if (value) {\n        el.style.setProperty(property, value);\n      } else {\n        el.style.removeProperty(property);\n      }\n    });\n  };\n  return restore;\n}\nfunction getHiddenSiblings(container) {\n  const hiddenSiblings = [];\n  [].forEach.call(container.children, element => {\n    if (element.getAttribute('aria-hidden') === 'true') {\n      hiddenSiblings.push(element);\n    }\n  });\n  return hiddenSiblings;\n}\n/**\n * @ignore - do not document.\n *\n * Proper state management for containers and the modals in those containers.\n * Simplified, but inspired by react-overlay's ModalManager class.\n * Used by the Modal to ensure proper styling of containers.\n */\nexport default class ModalManager {\n  constructor() {\n    this.containers = void 0;\n    this.modals = void 0;\n    this.modals = [];\n    this.containers = [];\n  }\n  add(modal, container) {\n    let modalIndex = this.modals.indexOf(modal);\n    if (modalIndex !== -1) {\n      return modalIndex;\n    }\n    modalIndex = this.modals.length;\n    this.modals.push(modal);\n\n    // If the modal we are adding is already in the DOM.\n    if (modal.modalRef) {\n      ariaHidden(modal.modalRef, false);\n    }\n    const hiddenSiblings = getHiddenSiblings(container);\n    ariaHiddenSiblings(container, modal.mount, modal.modalRef, hiddenSiblings, true);\n    const containerIndex = findIndexOf(this.containers, item => item.container === container);\n    if (containerIndex !== -1) {\n      this.containers[containerIndex].modals.push(modal);\n      return modalIndex;\n    }\n    this.containers.push({\n      modals: [modal],\n      container,\n      restore: null,\n      hiddenSiblings\n    });\n    return modalIndex;\n  }\n  mount(modal, props) {\n    const containerIndex = findIndexOf(this.containers, item => item.modals.indexOf(modal) !== -1);\n    const containerInfo = this.containers[containerIndex];\n    if (!containerInfo.restore) {\n      containerInfo.restore = handleContainer(containerInfo, props);\n    }\n  }\n  remove(modal, ariaHiddenState = true) {\n    const modalIndex = this.modals.indexOf(modal);\n    if (modalIndex === -1) {\n      return modalIndex;\n    }\n    const containerIndex = findIndexOf(this.containers, item => item.modals.indexOf(modal) !== -1);\n    const containerInfo = this.containers[containerIndex];\n    containerInfo.modals.splice(containerInfo.modals.indexOf(modal), 1);\n    this.modals.splice(modalIndex, 1);\n\n    // If that was the last modal in a container, clean up the container.\n    if (containerInfo.modals.length === 0) {\n      // The modal might be closed before it had the chance to be mounted in the DOM.\n      if (containerInfo.restore) {\n        containerInfo.restore();\n      }\n      if (modal.modalRef) {\n        // In case the modal wasn't in the DOM yet.\n        ariaHidden(modal.modalRef, ariaHiddenState);\n      }\n      ariaHiddenSiblings(containerInfo.container, modal.mount, modal.modalRef, containerInfo.hiddenSiblings, false);\n      this.containers.splice(containerIndex, 1);\n    } else {\n      // Otherwise make sure the next top modal is visible to a screen reader.\n      const nextTop = containerInfo.modals[containerInfo.modals.length - 1];\n      // as soon as a modal is adding its modalRef is undefined. it can't set\n      // aria-hidden because the dom element doesn't exist either\n      // when modal was unmounted before modalRef gets null\n      if (nextTop.modalRef) {\n        ariaHidden(nextTop.modalRef, false);\n      }\n    }\n    return modalIndex;\n  }\n  isTopModal(modal) {\n    return this.modals.length > 0 && this.modals[this.modals.length - 1] === modal;\n  }\n}"],"mappings":"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"},"metadata":{},"sourceType":"module"}